package com.atguigu.gmall.payment.pay;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.Map;

/**
 * @Author: 小兰
 * @Date: 2023/5/10 20:42
 */
@Component
public class PayManager {
    /**
     * 注入所有的支持支付平台对象
     * map中的key:支付对象Bean对象ID
     * map中value: 支付实例对象
     */
    @Autowired
    private Map<String,PayAPI> payWayMap;

    /**
     * 根据前端提交支付类别,返回支付实例对象
     * @param type 页面中提交的选择支付的方式
     */
    public PayAPI getPayInstance(String type) {
        PayAPI payAPI = payWayMap.get(type);
        if (payAPI==null){
            throw new RuntimeException("目前不支持这种方式支付");
        }
        return payAPI;
    }

}
